\documentclass[brazil,12pt]{article}

\usepackage[brazil]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{graphics}
\usepackage{fullpage}
\usepackage{verbatim}

\begin{document}

\title{Introdução ao SVN}

\author{Gustavo Campos Martins}

\maketitle

\begin{abstract}
Esse é um tutorial sobre SVN (Subversion), um sistema de controle de versão (CVS). Ele ajuda a gerenciar arquivos de um projeto, guardando versões antigas e sempre disponibilizando seus arquivos na internet.
\end{abstract}

\section{checkout}
Esse comando autentica um usuário, é necessário fornecer a URL, o nome do projeto e o usuário, por exemplo:

\begin{verbatim}
svn checkout https://fog-cg-department.googlecode.com/svn/trunk/ 
fog-cg-department --username usuário
\end{verbatim}

Logo após é preciso entrar com a senha. No caso do googlecode a senha é pegada no site. Quando isso é feito pela primeira vez um diretório com o nome do seu projeto será criado no seu disco e todo o conteúdo já existente no projeto será baixado para esse diretório. Sempre entre com os comandos abaixo dentro desse diretório.

\section{update}
Baixa os arquivos atualizados do servidor.

\begin{verbatim}
svn update
\end{verbatim}

\section{commit}
Faz o upload de todos os arquivos que você atualizou para o servidor.

\begin{verbatim}
svn commit
\end{verbatim}

\section{mkdir}
Cria um diretório.

\begin{verbatim}
svn mkdir diretorio
\end{verbatim}

Um diretório de nome "diretorio" será criado no local onde você está no diretório do projeto. Lembrando que para que isto seja atualizado no servidor é necessário fazer um \textit{commit}.

\section{move}
\textit{move, mv, rename} ou \textit{ren} é usado para mover um arquivo para outra pasta ou renomeà-lo.

\begin{verbatim}
svn mv file dir/
\end{verbatim}

Esse comando move o arquivo ''file'' do diretório atual para o diretório "dir" (que também está no diretório atual).

\section{cleanup}
Retoma operações não terminadas e remove "locks" (usado internamente pelo SVN para prevenir conflitos quando tem mais de uma pessoa operando sobre o mesmo projeto). Como exemplo vamos supor que você está fazendo um \textit{commit} e a conexão cai, nem todas as atualizações são enviadas para o servidor. Então é preciso realizar um \textit{cleanup} para retomar a operação.

\begin{verbatim}
svn cleanup
\end{verbatim}

\section {add}
Adiciona arquivo ao projeto.

\begin{verbatim}
svn add arquivo
\end{verbatim}

\section{bibliografia}

\begin{itemize}
	\item http://svnbook.red-bean.com/
	\item http://svnbook.red-bean.com/en/1.1/ch09.html (muito boa referência)
\end{itemize}

\end{document}


